package com.coderknock.spring.boot.elasticsearch.model;

import lombok.Data;
//import org.springframework.data.elasticsearch.annotations.Document;
//import org.springframework.data.elasticsearch.annotations.Field;
//import org.springframework.data.elasticsearch.annotations.FieldIndex;
//import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * <p></p>
 *
 * @author 三产
 * @version 1.0
 * @date 2017-07-03
 * @QQGroup 213732117
 * @website http://www.coderknock.com
 * @copyright Copyright 2017 拿客 coderknock.com  All rights reserved.
 * @since JDK 1.8
 */
// 声明 Product 类为需要被索引的文档 属性 indexName 声明了索引的名称，而属性 type 声明了索引中文档的类型。
//@Document(indexName = "product", type = "simple")
@Data
public class Product {

    //没有添加 @Field 注解会根据其 Java 类型自动确定数据类型，同时对属性的值进行文本分析，因此可以支持全文检索
    private Long id;
    //注解 @Field 声明了属性 sku 的数据类型为 String 同时对该属性的值是不做分析的。不做分析的属性在搜索时是进行完全匹配的
    //@Field(type = FieldType.String, index = FieldIndex.not_analyzed)
    private String sku;

    private String name;

    private String description;

    public Product() {
    }

    public Product(Long id, String sku, String name, String description) {
        this.id = id;
        this.sku = sku;
        this.name = name;
        this.description = description;
    }
}